1. Field of the Invention
The invention generally relates to analyzing data transferred through a parallel data bus. More specifically, the invention relates to analyzing data of an SCSI Parallel Interface (SPI) data bus using a data probe that minimizes alteration to characteristic impedance on the data bus by mimicking a front end of an SPI device and presenting a typical SPI device load to the data bus. As used herein, SCSI represents Small Computer Systems Interface.
2. Discussion of the Related Art
An SPI data bus is a data bus that transfers multiple signals over parallel conductive paths according to an SPI specification, such as SPI-4 Rev. 10 (also known as the Ultra320 specification) and SPI-5 (also known as the Ultra640 specification). The SPI specifications are generally available from: http://www.t10.org. One example of data transference through an SPI data bus includes communication to an SPI device, such as a hard disk drive (HDD). Data transfers through the SPI data bus require precise timing among various parallel signals, because timing errors, or skew, of the signals can cause, inter alia, incorrect transfers resulting in eventual data corruption. Accordingly, it is often desirable to analyze signals exchanged over the data bus to debug such timing errors.
A myriad of other reasons may exist for analyzing data transfers over a bus structure. For example, a higher level of data exchange protocol may be analyzed to identify errors in exchanged data caused by drivers or other components that drive data on the bus. Other errors may include data corruption and protocol violations from firmware, logic, cables, drivers and/or other system components.
To analyze such errors, the bus is typically monitored with an external analyzer such as a logic analyzer or customized protocol analyzer tuned to the specific signals and protocols employed. The analyzer is useful to determine signal quality and/or detect signal errors, such as timing errors and protocol related errors. Once these errors are detected, the cause of the errors can be isolated and corrective measures can be taken.
Such an analyzer is connected to the SPI data bus with either an in-line break-out board or a passive probe to view the data passing through the data bus. With the break-out board, the analyzer accesses the data by coupling the break-out board directly to the data bus. A user then selects which lines of the data bus are to be analyzed using patch-cords/wires that connect to the analyzer. A probe attaches to exposed connections of the bus (such as exposed test points intended for coupling such probes).
Most such analyzers are passive in that they do not generate signals, but rather merely monitor signals applied to the bus by other devices. With a passive probe, the analyzer accesses the data with the probe by “tapping” into the data passing through various signal paths of the bus.
Probing of data passing through the data bus often alters characteristic impedance of the data bus; these alterations typically degrade signal timing and quality such that analysis of the data is no longer valid or useful. For example, once a line of the data bus is physically selected for analysis, physical couplings of either the break-out board or the probe alters the characteristic impedance of the data bus, thereby altering the integrity of the signals passing through the bus. The altered impedance produced by such probing may be sufficient to change the nature of the problem being analyzed. Protocol, signal or timing errors may be introduced or modified by the coupling of the probe to the bus. In some instances, a physical coupling “masks” a timing error so that the error goes undetected altogether.
It is evident from the above discussion that there is an ongoing need to provide improved methods and structures for analyzing data transferred through an SPI data bus.